﻿#ifndef DACOREINTERFACE_H
#define DACOREINTERFACE_H
#include "DAInterfaceGlobal.h"
#include "DAGlobals.h"
#include <QObject>
DA_IMPL_FORWARD_DECL(DACoreInterface)
class DAAppRibbonAreaInterface;
class SARibbonMainWindow;

/**
 * @brief APP的核心接口
 *
 * 所有接口都可以通过此接口获取，这个接口是最关键的接口
 */
class DAINTERFACE_API DACoreInterface : public QObject
{
    Q_OBJECT
    DA_IMPL(DACoreInterface)
public:
    DACoreInterface(QObject *parent = nullptr);
    virtual ~DACoreInterface();

    //获取DAAppRibbonAreaInterface
    virtual DAAppRibbonAreaInterface *getAppRibbonAreaInterface() const = 0;

public:
    //调用此函数，创建DAAppRibbonAreaInterface，此函数的调用应该发生在SARibbonMainWindow的构造过程
    virtual void createAppRibbonArea(SARibbonMainWindow *mainwindow) = 0;
};


#endif // DACOREINTERFACE_H
